package websocket

// 对客户端的操作
type ClientMapHandle struct{}

var CMHandle *ClientMapHandle

// 储存连接着的客户端
var clientMap map[int]Client

func init() {
	clientMap = make(map[int]Client, 10)
	CMHandle = &ClientMapHandle{}
}

// 向客户端发送数据  clientId目标客户端的id  msg消息
func (c *ClientMapHandle) SendMessage(clientId int, msg []byte) {
	client, ok := clientMap[clientId]
	if !ok {
		// 不存在客户端
		// 直接退出，不传输任何数据
		return
	}

	// 判断客户端是否已经关闭连接
	if client.Session.IsClosed() {
		// 服务器与客户端已经关闭连接
		return
	}

	// 客户端与服务器正常连接中
	// 向客户端发送消息
	client.Session.Write(msg)
}
